In recent years, in the video encoding applications, there has been increasing demand for the encoding speed. However, it is very difficult for the conventional encoding methods such as MPEG2 and H.263 to be parallelized in multi-processor systems.
The conventional encoding process divides the frames of an inputted video stream into macro-blocks (MBs), performs the motion estimation (ME) in the unit of macro-block, then carries out discrete cosine transformation (DCT), quantization (Q) process, de-quantization (Q−1) and inverse discrete cosine transformation (IDCT), performs variable length coding (VLC) on the quantized data, and finally obtains the encoded data stream.
The encoding method is difficult to be parallelized due to dependencies between some procedures of the encoding process. This is most apparent in the rate-control process, because in order to control the rate, the quantization parameters for the quantization process on the current MB have to depend on the encoding results of previous MBs.
In order to solve the parallelization problem of the video encoding, a technology for parallelizing the off-line MPEG-2 encoding on Group of Picture (GOP) basis has been proposed in “A Scalable off-line MPEG-2 video encoding scheme using a multiprocessor”, Ishfaq Ahmad, Shahriar M. Akramullah, Ming L. Liou, Muhanmmad Kafil, and “A parallel MPEG-2 video encoder with look-ahead rate control”, Tiwari, P. Viscito, E., Thomas J. Watson. In addition, a method for parallelizing the motion estimation process for a single MB has been proposed in “Architecture of a Fast Motion Estimator for MPLEG Video Coding”, Nam Ling, Rajesh Advani.